
<html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta content="text/javascript" http-equiv="content-script-type">
<title>system.Random</title>
<link rel="stylesheet" type="text/css" href="candydoc/style.css">
<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="candydoc/ie56hack.css"><![endif]-->
<script language="JavaScript" src="candydoc/util.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/tree.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/explorer.js" type="text/javascript"></script>
</head><body>
<div id="tabarea"></div><div id="explorerclient"></div>
<div id="content"><script>explorer.initialize("system.Random");</script>
	<table class="content">
		<tr><td id="docbody"><h1>system.Random</h1><!-- Generated by Ddoc from F:\MyWork\phoenix\source\system\Random.d -->
伪随机数生成器模块
<br><br>
<b>License:</b><br>
BSD
<br><br>
<b>Authors:</b><br>
Lucifer (786325481@QQ.com)
<br><br>


<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class 
<span class="currsymbol">Random</span>
<script>explorer.outline.addDecl('Random');</script>

;
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>表示伪随机数生成器，一种能够产生满足某些随机性统计要求的数字序列的设备。
 
<br><br>


<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">this();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>使用与时间相关的默认种子值，初始化 Random 类的新实例。
<br><br>
<b>Comments:</b><br>
生成的数字分布均匀；每个数字返回的可能性均相等。
           默认种子值是从系统时钟派生而来的。
           但是，在高性能系统上生成随机数时，系统时钟值可能不会产生预期的行为。
           当前实现采用Donald E. Knuth 的减法随机数生成器算法，更多信息请参考
           “The Art of Computer Programming, volume 2: Seminumerical Algorithms” &amp; “Numerical Recipes in C(Second)”。
     
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">this(int <span class="funcparam">Seed</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>使用指定的种子值初始化 Random 类的新实例。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">int <span class="funcparam">Seed</span></td>

               
<td>用来计算伪随机数序列起始值的数字。
          如果指定的是负数，则使用其绝对值。</td></tr>
</table><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">protected double 
<span class="currsymbol">sample</span>
<script>explorer.outline.addDecl('sample');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回一个介于 0.0 和 1.0 之间的随机数。
<br><br>
<b>Comments:</b><br>
创建 Random 的派生类以重写此方法并产生另一种分布
     
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">int 
<span class="currsymbol">next</span>
<script>explorer.outline.addDecl('next');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回非负随机数。
<br><br>
<b>Returns:</b><br>
大于或等于零且小于 int.max 的 32 位带符号整数。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">int 
<span class="currsymbol">next</span>
<script>explorer.outline.addDecl('next');</script>

(int <span class="funcparam">maxValue</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回一个小于所指定最大值的非负随机数。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">int <span class="funcparam">maxValue</span></td>

               
<td>要生成的随机数的上界（随机数不能取该上界值）。</td></tr>
<tr>
<td nowrap valign="top" style="padding-right: 8px">int <span class="funcparam">maxValue</span></td>

               
<td>必须大于或等于零。</td></tr>
</table><br>
<b>Returns:</b><br>
大于或等于零且小于 <span class="funcparam">maxValue</span> 的 32 位带符号整数，即：返回的值范围属于区间[0, <span class="funcparam">maxValue</span><br><br>。
	 

</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>



<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">int 
<span class="currsymbol">next</span>
<script>explorer.outline.addDecl('next');</script>

(int <span class="funcparam">minValue</span>, int <span class="funcparam">maxValue</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回一个指定范围内的随机数。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">int <span class="funcparam">minValue</span></td>

               
<td>返回的随机数的下界（随机数可取该下界值）。</td></tr>
<tr>
<td nowrap valign="top" style="padding-right: 8px">int <span class="funcparam">maxValue</span></td>

               
<td>返回的随机数的上界（随机数不能取该上界值）。
         <span class="funcparam">maxValue</span> 必须大于或等于 <span class="funcparam">minValue</span>。</td></tr>
</table><br>
<b>Returns:</b><br>
一个大于或等于 <span class="funcparam">minValue</span> 且小于 <span class="funcparam">maxValue</span> 的 32 位带符号整数，即：返回的值范围属于区间[<span class="funcparam">minValue</span>, <span class="funcparam">maxValue</span><br><br>。
          如果 <span class="funcparam">minValue</span> 等于 <span class="funcparam">maxValue</span>，则返回 <span class="funcparam">minValue</span>。
	 

</dd>
</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">nextBytes</span>
<script>explorer.outline.addDecl('nextBytes');</script>

(ubyte[] <span class="funcparam">buffer</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>用随机数填充指定字节数组的元素。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">ubyte[] <span class="funcparam">buffer</span></td>

               
<td>包含随机数的字节数组。</td></tr>
</table><br>
<b>Comments:</b><br>
字节数组的每个元素均设置为一个大于或等于零而小于或等于 int.max 的随机数。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">double 
<span class="currsymbol">nextDouble</span>
<script>explorer.outline.addDecl('nextDouble');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回一个介于 0.0 和 1.0 之间的随机数。
<br><br>
<b>Returns:</b><br>
大于或等于 0.0 而小于 1.0 的双精度浮点数字。
<br><br>
<b>Comments:</b><br>
此方法是受保护的方法 Sample 的公共版本。
     
<br><br>

</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>


)
)
</td></tr>
		<tr><td id="docfooter">
			Page was generated with
			<img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px">
			on Sat Nov 29 22:33:12 2008

		</td></tr>
	</table>
</div>
<script>
	explorer.packageExplorer.addModule("platform.PAL");
	explorer.packageExplorer.addModule("platform.windows.Core");
	explorer.packageExplorer.addModule("platform.linux.Core");
	explorer.packageExplorer.addModule("system.Array");
	explorer.packageExplorer.addModule("system.BitArray");
	explorer.packageExplorer.addModule("system.Environment");
	explorer.packageExplorer.addModule("system.Event");
	explorer.packageExplorer.addModule("system.Exception");
	explorer.packageExplorer.addModule("system.Hash");
	explorer.packageExplorer.addModule("system.IntPtr");
	explorer.packageExplorer.addModule("system.Random");
	explorer.packageExplorer.addModule("system.Traits");
	explorer.packageExplorer.addModule("system.TypeTuple");
	explorer.packageExplorer.addModule("system.math.IEEE");
	explorer.packageExplorer.addModule("system.math.Math");
	explorer.packageExplorer.addModule("system.runtime.c.complex");
	explorer.packageExplorer.addModule("system.runtime.c.config");
	explorer.packageExplorer.addModule("system.runtime.c.ctype");
	explorer.packageExplorer.addModule("system.runtime.c.errno");
	explorer.packageExplorer.addModule("system.runtime.c.fenv");
	explorer.packageExplorer.addModule("system.runtime.c.inttypes");
	explorer.packageExplorer.addModule("system.runtime.c.limits");
	explorer.packageExplorer.addModule("system.runtime.c.locale");
	explorer.packageExplorer.addModule("system.runtime.c.math");
	explorer.packageExplorer.addModule("system.runtime.c.signal");
	explorer.packageExplorer.addModule("system.runtime.c.stdarg");
	explorer.packageExplorer.addModule("system.runtime.c.stddef");
	explorer.packageExplorer.addModule("system.runtime.c.stdint");
	explorer.packageExplorer.addModule("system.runtime.c.stdio");
	explorer.packageExplorer.addModule("system.runtime.c.stdlib");
	explorer.packageExplorer.addModule("system.runtime.c.string");
	explorer.packageExplorer.addModule("system.runtime.c.time");
	explorer.packageExplorer.addModule("system.runtime.c.wctype");
	explorer.packageExplorer.addModule("system.text.UTF");
	explorer.packageExplorer.addModule("system.threading.Atomic");
	explorer.packageExplorer.addModule("system.threading.ThreadUtility");
	explorer.packageExplorer.addModule("system.threading.synchronization.SpinWait");
	explorer.packageExplorer.addModule("system.collections.ArrayList");
	explorer.packageExplorer.addModule("system.collections.Comparer");
	explorer.packageExplorer.addModule("system.collections.Deque");
	explorer.packageExplorer.addModule("system.collections.EqualityComparer");
	explorer.packageExplorer.addModule("system.collections.Exception");
	explorer.packageExplorer.addModule("system.collections.HashMap");
	explorer.packageExplorer.addModule("system.collections.HashSet");
	explorer.packageExplorer.addModule("system.collections.ICollection");
	explorer.packageExplorer.addModule("system.collections.IComparer");
	explorer.packageExplorer.addModule("system.collections.IDeque");
	explorer.packageExplorer.addModule("system.collections.IEnumerable");
	explorer.packageExplorer.addModule("system.collections.IEnumerator");
	explorer.packageExplorer.addModule("system.collections.IEqualityComparer");
	explorer.packageExplorer.addModule("system.collections.IList");
	explorer.packageExplorer.addModule("system.collections.IMap");
	explorer.packageExplorer.addModule("system.collections.IQueue");
	explorer.packageExplorer.addModule("system.collections.LinkedList");
	explorer.packageExplorer.addModule("system.collections.Pair");
	explorer.packageExplorer.addModule("system.collections.PrimeHelper");
	explorer.packageExplorer.addModule("system.collections.PriorityQueue");
	explorer.packageExplorer.addModule("system.collections.Queue");
	explorer.packageExplorer.addModule("system.collections.RBTree");
	explorer.packageExplorer.addModule("system.collections.Stack");
	explorer.packageExplorer.addModule("system.collections.TreeMap");
	explorer.packageExplorer.addModule("system.collections.TreeSet");
	explorer.packageExplorer.addModule("system.collections.objectmodel.ListCollection");
	explorer.packageExplorer.addModule("system.collections.objectmodel.ReadOnlyListCollection");</script>
</body></html>


